//
//  THMangerTool.h
//  PublicProject
//
//  Created by TianHe_Wsk on 15/11/3.
//  Copyright © 2015年 H.D.X. All rights reserved.
//
/*
这里做小数据存储
 
 */

#import <Foundation/Foundation.h>
#import "THUserInfoModel.h"
#import "UtilCheck.h"


@interface THMangerTool : UtilCheck


#define USERINFO @"USERINFO"
#define USERACCOUT @"USERACCOUT"

#define KEEP @"KEEP"
#define START @"START"
#define SHARE @"SHARE"
#define APPExamine @"examine"//APP审核

#define ADD_SERVERS @"user_add_server_address" // 用户自己添加的服务器地址
#define USER_SERVER @"app_user_server_address" // 用户使用的自己添加的服务器地址
#define RECOMMEND_SERVER @"recommend_server_address" // 系统推荐使用的服务器地址
#define IS_USER_SElELECTED @"is_used_self_add_address" // 用户当前使用的是否为自己添加的服务器地址

#define HEADIMAGETIME @"touxiangguoqishijian" //头像过期时间

#define ROW @"ROW"
#define LOW @"LOW"


#define REMIND_TYPE  @"remind_type" // 提醒方式
#define REMIND_RING @"remind_type_ring" //提醒 铃声
#define REMIND_VIBRATE @"remind_type_vibrate" //提醒 铃声



/*用户是否勾选记住账户 */
+(BOOL)IsKeepAccount;
/**
 * 修改记住账户
 @parme IsKeep YES  保存
 */
+(void)setKeepAccount:(BOOL)IsKeep;

/*用户是否登录*/
+(BOOL)isLogin;

/**
 *  注销
 */
+(void)removeAccount;


/**
 *  获取版本号
 *
 *  @param hiddinBuild 是否显示budld号
 *
 *  @return 返回字符串
 */
+(NSString*)getVersion:(BOOL)hiddinBuild;

/**
 *  获取APP名称
 */
+(NSString*)getAppName;

/**
 *  获取APP类别 Happyi | THRC
 */
+(NSString*)getAppType;


/**
 * 是否首次进入APP
 */
+(BOOL)isStatrOpenApp;

/**
 *保存用户已经进入首页
 */
+(void)savetStatrOpenApp;

/**
 *用户是否进行过新手指引
 */
+(BOOL)isPerfect;

/**
 *保存用户是否进行过新手指引
 */
+(void)savePerfect;

/**
 *   保存账号密码(仅仅是账号密码)
 */
+(void)saveAccountInfo:(NSDictionary*)accountInfo;



/**
 *  保存账户信息 AccountModel
 */
+(void)saveAccountModel:(THUserInfoModel*)userModel;


/**
 *  获取用户账号信息
 */
+ (THUserInfoModel*)getAccountInfo;


/**
 *  获取用户口令
 */
+ (NSString*)getKey;


/**
 *  获取记住账户的信息
 */
+ (NSDictionary*)getKeepAccout;


/**
 *   检测用户是否推送了版本更新 首先要有推送 其次推送的版本高于用户当前版本 返回AppStore的路径
 */
+ (NSDictionary*)getJpushVersion;


/**
 *保存分享数据
 */
+(void)saveShareData:(NSDictionary*)shareDice;

/**
 *获取保存分享数据
 */
+(NSDictionary*)getShareData;

 
/**
 *获取用户修改头像时间
 */
+(NSString*)setUpHeadDateTime:(BOOL)isOnliytime;


/**
 *是否出在审核阶段
 */
+(BOOL)isAPPStoreExamine;

/**
 *修改审核阶段
 */
+(void)setAPPStoreExamine:(BOOL)IsAPPStore;


/**
 *  获取当前使用的请求地址
 *
 *  @return
 */
+(NSString*)getUsedHost;

/**
 *  获取APP推荐使用服务器地址
 *
 *  @return
 */
+ (NSString*)getRecommendHost;

/**
 *  获取请求地址列表
 *
 *  @return
 */
+ (NSMutableArray *)getHostList;

/**
 *  添加请求地址
 *
 *  @param host eg: http://www.hid.s:8080
 *
 *  @return 操作结果
 */
+(BOOL)addHost:(NSString*)host;

/**
 更改默认服务器地址

 @param host 服务器地址 eg http://www.eg.s:8989

 @return 修改结果
 */
+ (void)setRecommendHost:(NSString *)host;

/**
 *   当前用户使用的服务器地址
 *   @param host  eg: http://www.hid.s:8080
 */
+(BOOL)setUserHost:(NSString *)host;

/**
 *  删除服务器地址
 *
 *  @param index 删除数据下标
 *
 *  @return 操作结果
 */
+ (BOOL)deleteHostAtIndex:(NSInteger)index;

/**
 *  字典DES加密成字符串
 *
 *  @param sourceDict 源字典
*  @param bencrypt 是否加密
 *
 *  @return 加密结果
 */
+(NSString*)encryption:(NSMutableDictionary*)sourceDict encrypt:(BOOL)bencrypt;
/**
 *  加密字符串DES解密成字典
 *
 *  @param sourceString 源字符串
 *  @param bencrypt 是否解密
 *  @return 解密结果
 */
+(NSMutableDictionary*)decryption:(NSString*)sourceString encrypt:(BOOL)bencrypt;


/**
 *倒计时 2016-23-23 23:23
 */
+(NSString *)timeHandle: (NSString *) theDate dateFormatter:(NSString*)formatter;

/**
 *  获取路径文件名
 *
 *  @param url
 *
 *  @return <#return value description#>
 */
+(NSString*)getFileName:(NSString*)url;

/*修改保存当前操作行*/
+(void)setWorkRow:(NSInteger)row;
/*获取保存当前操作行*/
+(int)getWorkRow;

/*修改保存当前操作列*/
+(void)setWorkLow:(NSInteger)low;
/*获取保存当前操作列*/
+(int)getWorkLow;

/**
 *  返回文字
 *
 *  @return
 */
+(NSString *)approvalText:(NSInteger)code;
/**
 *  创建审批数据模型
 *
 *  @param type 类似
 *
 *  @return 数组
 */
+(NSMutableArray*)createReViewModel:(NSInteger)type;
/**
 *  返回当前语言设置
 *
 *  @return
 */
+(LanguageType)getLanageType;
/**
 *  获取系统语言
 *
 *  @return
 */
+ (LanguageType)getPreferredLanguage;

/**
 *  电话号码隐匿
 *
 *  @param iphone 电话号码
*  @param flag  隐匿字符
 *
 *  @return
 */
+(NSString*)TelHidden:(NSString*)iphone Symbol:(NSString*)flag;

/**
 *  根据编号返回操作权限名称
 *
 *  @param code   操作权限，1取消订单2修改订单，3安排发货，4确认订单，5继续发货，6确认收货，7查看物流
 *
 *  @return
 */

+(NSString*)operationText:(NSString*)code;

+(NSString*)operationPermissions:(NSString*)code;

+(NSString*)operationDeliver:(NSString*)code;
+(id)deepCopy:(id)data;

@end
